package fr.upstlse.glre.client.controler;

import java.util.Collection;
import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;

import fr.upstlse.glre.client.vo.actualite.ActualiteSearchCriteriaVOGWT;
import fr.upstlse.glre.client.vo.actualite.ActualiteVOGWT;
import fr.upstlse.glre.client.vo.depot.DocumentVOGWT;
import fr.upstlse.glre.client.vo.depot.LibelleVOGWT;
import fr.upstlse.glre.client.vo.vitrine.PageVitrineVOGWT;

public interface ControlerService extends RemoteService {

	
	public Long addDocument(DocumentVOGWT pDocument);
	public void deleteDocument(long pDocumentId);
	public void deleteDocument(DocumentVOGWT pDocumentVOGWT);
	public Long createLibelle(LibelleVOGWT pLibelleVOGWT);
	public void updateLibelle(LibelleVOGWT pLibelleVOGWT);
	public void deleteLibelle(LibelleVOGWT pLibelleVOGWT);
	public Collection<DocumentVOGWT> getAllDocuments();
	public Collection<LibelleVOGWT> getAllLibelles();

	public PageVitrineVOGWT[] getAllPageVitrine();
	public Long createPageVitrine(PageVitrineVOGWT pPageVitrineVOGWT);
	public void updatePageVitrine(PageVitrineVOGWT pPageVitrineVOGWT);
	
	/**
	 * Get the timetable as HTML format.
	 * @return
	 * 	The timatable as HTML format.
	 * @throws Throwable
	 */
	public String getEmploiDuTemps() throws Throwable;
	
	public List<ActualiteVOGWT> findActualite(ActualiteSearchCriteriaVOGWT pActualiteSearchCriteriaVOGWT);
	public Long createActualite(ActualiteVOGWT pActualiteVOGWT);
	public void updateActualite(ActualiteVOGWT pActualiteVOGWT);
	public void deleteActualite(long pId);
	public List<ActualiteVOGWT> getAllActualite();
}
